package me.leoray.leilog;

/**
 * 日志入口类
 * <p>
 * Created by leoraylei on 16/8/27.
 */
public class Logger {
    /**
     * 默认的打印器,默认的rootTag
     */
    private static Logs logs = Logs.get();

    public static Settings settings(String classNamePrefix, String rootTag) {
        return logs.settings(classNamePrefix, rootTag);
    }

    public static Settings settings(String classNamePrefix, boolean isSaveFile, String rootTag) {
        return logs.settings(classNamePrefix, isSaveFile, rootTag);
    }

    public static Settings settings(String classNamePrefix, Settings settings) {
        return logs.settings(classNamePrefix, settings);
    }

    public static Logs get() {
        return logs;
    }

    /**
     * 获取配置对象
     *
     * @return
     */
    public static Settings settings() {
        return logs.settings();
    }

    /**
     * 设置根标签
     *
     * @param tag
     * @return
     */
    public static Settings rootTag(String tag) {
        return logs.rootTag(tag);
    }


    /*-------------带Tag------------*/
    public static void v(String tag, String message, Object... param) {
        logs.v(tag, message, param);
    }

    public static void d(String tag, String message, Object... param) {
        logs.d(tag, message, param);
    }

    public static void i(String tag, String message, Object... param) {
        logs.i(tag, message, param);
    }

    public static void w(String tag, String message, Object... param) {
        logs.w(tag, message, param);
    }

    public static void e(String tag, String message, Object... param) {
        logs.e(tag, message, param);
    }

    public static void wtf(String tag, String message, Object... param) {
        logs.wtf(tag, message, param);
    }

    /*-------------不带Tag------------*/
    public static void v(String message, Object... param) {
        logs.v(message, param);
    }

    public static void d(String message, Object... param) {
        logs.d(message, param);
    }


    public static void i(String message, Object... param) {
        logs.i(message, param);
    }

    public static void w(String message, Object... param) {
        logs.w(message, param);
    }

    public static void e(String message, Object... param) {
        logs.e(message, param);
    }

    public static void wtf(String message, Object... param) {
        logs.wtf(message, param);
    }

    /*-------------带Throwable------------*/
    public static void v(String tag, String message, Throwable t) {

    }

    public static void d(String tag, String message, Throwable t) {

    }

    public static void i(String tag, String message, Throwable t) {

    }

    public static void w(String tag, String message, Throwable t) {

    }

    public static void e(String tag, String message, Throwable t) {

    }

    public static void wtf(String tag, String message, Throwable t) {

    }

}
